Shamsi was the only new player in the one-day international squad announced on Friday, although pace-bowling allrounder Wayne Parnell was recalled for the first time in more than a year.
Head selector Linda Zondi said Steyn was rested for the triangular series against West Indies and Australia to keep him fresh for the test season. South Africa, which lost its No. 1 ranking in tests with a home loss to England in January, has series against New Zealand, Australia and Sri Lanka this year.
Steyn won't play in the triangular after the 32-year-old quick bowler struggled with a series of injuries at the end of last season. The latest, a right shoulder problem, kept him out of most of the series loss to England.
Steyn's workload has been exacerbated by his franchise commitments. He is currently playing in the IPL and is also due to play in the Caribbean Twenty20 league starting in late June.