Bangladesh were 49 for three at tea after being set to make 424 to win. Rain fell during the tea interval and prevented play from resuming on time.
Morkel took two for 19 before leaving the field with a side strain after bowling two balls of his sixth over.
Cricket South Africa media officer Lerato Malekutu said Morkel would be taken for scans tomorrow and was unlikely to bowl again in the match.
Morkel, bowling around the wicket, bowled Tamim Iqbal with his fourth ball, a superb delivery which straightened off the pitch and hit the off stump. Two balls later he won a leg before wicket decision against another left-hander, Mominul Haque, who made top score of 77 in Bangladesh's first innings.
More From This Section
After consulting batting partner Imrul Kayes, Mominul did not seek a television review of umpire Chris Gaffaney's decision - but replays showed the ball would have missed the leg stump.
Switching to over the wicket, Morkel uprooted the middle stump of Mushfiqur Rahim, Bangladesh's right-handed captain, with the second delivery of his next over. But a television check showed the bowler had over-stepped the bowling crease. A no-ball was called and Rahim was reprieved.
South Africa missed another chance when captain Faf du Plessis dropped Kayes at second slip off Kagiso Rabada when the batsman was on six. Kayes made 32 before he was caught behind off left-arm spinner Keshav Maharaj in the last over before tea.
Du Plessis (81) and Temba Bavuma (71) set up South Africa's second innings declaration on 247 for six with a fourth wicket partnership of 142 off 172 balls. The innings was interrupted for 47 minutes by a thunderstorm, which caused the tea interval to be delayed by an hour.