La question n'a pas grand chose à voir avec un passage de paramètre, en fait.
Si je comprends bien, depuis un script shell, tu appelles un exécutable (écrit en C, mais c'est accessoire), dont tu voudrais récupérer le résultat dans ton script appelant.
Je vais répondre pour bash : pour récupérer la sortie standard (i.e. ce que l'exécutable "écrit" à l'écran), on peut utiliser la syntaxe suivante :
resultat=$(/path/vers/lexecutable param1 param2)
Pour information, c'est équivalent à la syntaxe suivante, mais cette dernière est deprecated :
resultat=`/path/vers/lexecutable param1 param2`
Je passe pour l'instant (volontairement) sur la sortie d'erreur ou le code retour, car je n'ai pas l'impression que l'on soit prêt à les évoquer. Peut-être qu'un bon bouquin sur le shell pourrait aider ?