"Imran has been a stand-by for the African tour. We have called him as a replacement for injured captain Habibul Bashar," Bangladesh Cricket Board chief executive Mahmudur Rahman said on Monday.
Bangladesh, who lost a recent One-day series in Zimbabwe, will play three One-day internationals in Nairobi on August 12, 13 and 15.
Imran, whose last One-day appearance was against Australia at home in April, has so far scored 545 runs in 35 matches with two half-centuries. He will leave for Nairobi on Tuesday.
Wicketkeeper-batsman Khaled Mashud has been retained as captain.