Prolific batsman AB de Villiers was named South Africa's ODI and Twenty20 skipper while Graeme Smith was retained as Test captain.
De Villiers will also be Smith's deputy in Test while Hashim Amla will be the ODI and Twenty20 vice-captain.
"De Villiers and Amla have been part of new tier of leadership that has been built up in Proteas' squad for some time now under the guidance of Graeme Smith," said CSA Chief Executive Officer Gerald Majola at a press conference.
Smith had stood down as ODI captain following South Africa's World Cup debacle in March.
"I am obviously very excited, ready to learn. I am really looking forward to this whole challenge. I will work closely with Hashim and the coach, I have been through ups and downs and I am ready to take on anything," de Villiers said.
De Villiers appointment is a change in plan for Cricket South Africa, who had named Botha as Smith's successor in the Twenty20 format.
Gary Kirsten, whose appointment as South Africa's coach was also announced on Monday, said de Villiers was the right man for the job.
"I think it's important that you are looking at an individual whose name is the first or second on the team sheet, that does play a role," Kirsten said.
De Villiers has played 119 ODIs since making his debut in 2005 and has scored 4523 runs at an average of 45.68. He has scored 11 hundreds and 26 half centuries.
Amla said he was pleased with his new role as vice-captain of the team.
"I did take a long time to think about it, I feel it is a huge responsibility. AB as captain for me is an excellent move, I have always respected him as a person," Amla said.
"I think I am not good enough person to handle captaincy.
I turned down Dolphins captaincy to stick to my batting, and when this came up I got it," he added.