system() is fine for simple things. If you are looking for more sophisticated interaction of the two programs
...or if security is an issue. system() uses the shell to launch the command and that can be made to execute an arbitrary user-supplied program in several different ways
you might want to read about fork() and wait().
There is example code in the Linux manual page for wait - it just needs modifying for the child to call execl() or some variant of it. M