The 41-year-old made over 300 appearances in the Premier League during spells with Portsmouth, Bolton, West Ham and Burnley.
Cotterill took Shrewsbury to 12th in League One last season.