¿Cómo eliminar todos los archivos de una carpeta, pero no eliminar la carpeta utilizando las bibliotecas estándar de NIX?

Estoy tratando de crear un programa que elimine el contenido de la carpeta / tmp, estoy usando C / C ++ en linux.

system("exec rm -r /tmp")

elimina todo lo que hay en la carpeta pero también elimina la carpeta que no quiero.

¿Hay alguna manera de hacer esto por algún tipo de script bash, llamado a través desystem(); ¿O hay una manera directa de hacer esto en C / C ++?

Mi pregunta es similar a esta, pero no estoy en OS X ...¿Cómo eliminar todos los archivos de una carpeta, pero no la carpeta en sí?

Respuestas a la pregunta(7)

Su respuesta a la pregunta