Dan N'Lundulu marked his first senior start for the Saints with a maiden goal for the club in the 17th minute at their St Mary's ground before England's James Ward-Prowse put the result beyond doubt a minute from time.
The Saints will have little time to enjoy this victory as their tie with Arsenal, a repeat of the 2003 FA Cup final won 1-0 by the Gunners, takes place at St Mary's on Saturday.
Third-tier Shrewsbury were playing their first competitive match since December following a raft of coronavirus cases and were without manager Steve Cotterill after he had spent time in intensive care due to Covid-19.
Cotterill was taken to hospital last week following an outbreak at the League One club, which forced the postponement of the third-round tie earlier this month.
The 56-year-old spent part of the weekend being given oxygen in intensive care and remains in hospital.
Saints manager Ralph Hasenhuttl made seven changes to the side that lost 2-0 to Premier League rivals Leicester.
Only Jan Bednarek, Jack Stephens, Ibrahima Diallo and James Ward-Prowse remained in the starting line-up.
Shrewsbury had not played since beating Blackpool on December 29.
The first real chance of Tuesday's match saw Southampton take the lead when N'Lundulu shot through the legs of Scott Golbourne and into the bottom corner, although it needed a VAR check for possible handball to confirm the 21-year-old had put the hosts ahead.
Southampton, however, had to wait until the 89th minute for their second goal, when mifielder Ward-Prowse scored with a 25-yard free-kick that Shrews keeper Matija Sarkic got a hand to but could not keep out of the net.