Te recomiendo que busques información en inglés para que puedas entender cada línea de código, por otra parte. Acerca de exec.
 
exec in linux shell es un constructor de comandos y espejos de funciones en el kernel. 
En posix exec ejecuta comandos y abre,  cierra o copia archivo descriptores. 
Relacionado: 
http://pubs.opengroup.org/onlinepubs...ap02.html#exec