Earlier, heavy overnight and morning rain forced to delay start of second day's play.
Bangladesh was at 246 for 8 in 88.1 overs with Nasir Hossain was unbeaten on 13 at the crease.
Several Bangladeshi batsmen got a good starts but failed to convert those into a big knock. On the other hand Mushfiqur Rahim became the first skipper for his side to score a fifty against South Africa in Test matches.
Pacer Dale Steyn became the 13th bowler to take 400 Test wickets.