I\'ve been reading its man page but haven\'t yet been successful in figuring out how it works. On calling system(), is a new child process forked and the shell binary exec()
Yes, system() is essentially a fork() and exec() "sh -c" for the passed command string. An example implementation (from eglibc, recently forked from glibc) can be found here.