W przypadku, gdy chodzi o korzystanie z obcych procesów sprawa rozbija się o komunikację między procesową (IPC). Najprostszy sposób to wykorzystanie standardowych strumieni i/o - to te, które są używanie chociażby przez std::cin/cout czy scanf/printf.
Są oczywiście inne sposoby, bardziej złożone/zaawansowane, ale do takiej prostej strumieniowej komunikacji wspomniane strumienie wystarczą (linuksowe komendy na nich bazują).