Vernon Philander got the crucial wicket of Mahmudullah for 67 as rain stopped play in Chittagong with Bangladesh on 178-4.
Mahmudullah was given lbw in what will give the South Africans some reprieve as rain forced the players off the field.
What will give the Proteas more hope is the fact that the new ball is due in 13 overs.
Bangladesh came out after tea on 153-3 after Dean Elgar bowled Tamim Iqbal for 57. Earlier Stiaan van Zyl made the first breakthrough for South Africa when Quinton de Kock stumped Imrul Kayes for 26.
The Bangladeshi batsmen looked comfortable throughout the second session after lunch with Iqbal and Mahmudullah (53 not out) reaching their half-centuries.
The pair shared an 89-run partnership for the third wicket to consolidate their team’s position after losing two wickets in the morning.
The wicket of Iqbal gave the Proteas some hope and Dale Steyn was immediately brought back into the attack to bowl at the new batsman and Bangladesh captain Mushfiqur Rahim.
Steyn is still searching for his first wicket in this Test and needs just four more to reach 400 in Tests. South Africa did manage to keep the run-rate under control. They bowled with patience and discipline, but credit must go the Bangladeshi batsmen who handled everything that came their way.
A strange decision has been Amla’s resistance to use JP Duminy as a third spinner to give Simon Harmer a bit of a break. The only reason can be that Duminy is possibly struggling with an injury or niggle that prevents him from bowling.