Prueba con esto, ojo que en cmdline debe ir la ruta completa de donde se encuentra el archivo.
Código PHP:
$filename = "tienda/temporal/texto".$TBK_ORDEN_COMPRA . ".txt";
$fp=fopen($filename,"w");
reset($HTTP_POST_VARS);
while (list($key,$val) = each($HTTP_POST_VARS))
{
fwrite($fp,"$key=$val\r\n");
}
fclose($fp);
$cmdline = "xxxx/xxxx/xxx/cgi-bin/tbk_check_mac.cgi $filename;
exec($cmdline,$result,$retint);
if ($archivo[0]=="INVALIDO")
no se verifica si fue correcto es lo contrario verifica si es invalido y si es asi grabas el fallo en algun archivo y das exit para finalizar la lectura.