De Kock topscored with 44 runs and de Villiers added 40 as the visitors looked for a 2-0 sweep in the two-match series after winning the Sunday's opening game by 52 runs.
Left-arm spinner Arafat Sunny forced de Kock into chipping a catch to Sabbir Rahman at midwicket to earn Bangladesh's first breakthrough in the 11th over.
Left-handed de Kock faced 31 balls and hit four fours and two sixes in his innings.
JP Duminy got a leading edge off the second ball of the over to hoist a catch which Shakib Al Hasan gleefully accepted at short midwicket to remove him for six.
More From This Section
AB de Villiers gloved the next ball to wicketkeeper Mushfiqur Rahim to end his 34-ball innings which included six sixes.
David Miller survived a strong caught behind appeal in the same over to put on 34 runs for the fourth wicket with skipper Faf du Plessis (16).
Nasir finished with 2-26 for Bangladesh.
South Africa handed leg-spinner Eddie Leie a Twenty20 international debut for Kagiso Rabada.
Bangladesh also made one change as batsman Rony Talukdar replaced off-spinner Sohag Gazi to make his debut.