System() o exec() y derivados...

kreezii
17 de Marzo del 2004
Buenas, estoy creando un programa que llama a otros programas (como por ejemplo "cat"), el caso es que hasta ahora he usado la función system para llamar a "cat" y funciona bien pero también soy consciente que consume bastantes recursos y aunque el programa es pequeño pero con él se podrán tratar ficheros de gran tamaño y no quiero que cargue mucho el sistema.
Hace poco he aprendido las funciones fork(), wait() y exec() (en todas sus variantes, execv... etc), y he visto que con la combinación de las tres funciones se hace lo mismo que con la función system(), (de hecho por lo que he podido leer system usa esas tres funciones así que en realidad parece lo mismo).
Mi pregunta es... ¿cuál es la mejor forma? (no lo más cómoda yo quiero la más efectiva y rápida en cuanto a ejecución). En fin... si alguien me guía un poquito se lo agradecería.
Salu2 y gracias por adelantado.