What is the difference between using system() to execute a binary and using the combination of fork/execvp.
Is there any security/portablility/performance difference.>
Yes, system() runs the command through a shell, while exec() runs the command directly. Of course, introducing a shell opens up for bugs and exploits.
system()
exec()
Edit: of course, the man page provides more detail.