Yes, I post at VBF.
You can call fork() and execlp(), for example, to run a script and get it's return status. This invokes the POSIX shell in a child process. Getting return values are not straightforward. You need to read the man page for execlp. fork() returns a pid
Code:
pid_t pid;
pid=fork();
if (pid == 0 ){
/* you are in the child process*/
execlp(something or other);
}else{
/* you are still in the parent process */
printf("child pid=%d\n",pid);
}
system() provides a wrapper for this. It does return the exit status of the command interpreter it invokes, but the status is returned the way wait() returns a status.