Petersen, 32, has not appeared in a one-day international since January 2012 but Andrew Hudson, convener of the South African selectors, said he was a "like-for-like" replacement for his Test opening partner, Smith, who withdrew last week in order to have surgery on his left ankle.
Primarily regarded as a Test specialist, Petersen has played in only 17 one-day internationals, scoring 437 runs at an average of 31.21 with four half-centuries.
But Hudson said Petersen was currently in good form for English county Somerset.
"With the tournament being played early in the England summer we envisage that bowling conditions will favour the seamers and getting good partnerships going up front is going to be paramount to success," said Hudson.
"He (Petersen) handled these conditions extremely well during our Test tour to England last year."
Revised squad: AB de Villiers (capt, wkt), Hashim Amla, Farhaan Behardien, JP Duminy, Faf du Plessis, Colin Ingram, Rory Kleinveldt, Ryan McLaren, David Miller, Morne Morkel, Alviro Petersen, Robin Peterson, Aaron Phangiso, Dale Steyn, Lonwabo Tsotsobe.