note
swkronenfeld
I don't know how many other things that your executable asks for on standard input, but if it's only this one file name, the following command will do what you need.
<br><br>
<code>`echo "$file" | $prog`;</code>
<br><br>
You can get rid of that fork, pipe, and pid stuff.
<br><Br><br>
<b>Update:</b> Since I got downvoted, maybe I wasn't being clear enough here? I still think this is a valid answer to the OP's original question.
<br><br>
If a script expects input (in this case, a file name), you can pipe the input into the script. Take the following script as an example:
<br><br>
<code>
#!/usr/bin/perl -w
use strict;
my $in = <STDIN>;
print $in;
# END #
Now test it
> echo "Hello, world!" | ./test.pl
Hello, world!
>
</code>
<br><br>
I think this is what the OP is looking for instead of his opening on pipes, etc.
529119
529119