Como apagar todos os arquivos em uma pasta, mas não excluir a pasta usando as bibliotecas padrão do NIX?

Eu estou tentando criar um programa que exclui o conteúdo da pasta / tmp, estou usando C / C ++ no linux.

system("exec rm -r /tmp")

apaga tudo na pasta, mas também apaga a pasta que eu não quero.

Existe alguma maneira de fazer isso por algum tipo de script bash, chamado viasystem(); ou existe uma maneira direta que eu posso fazer isso em C / C + +?

Minha pergunta é semelhante a esta, mas não estou no OS X ...como excluir todos os arquivos em uma pasta, mas não a pasta em si?

questionAnswers(7)

yourAnswerToTheQuestion