I\'m writing a shell script that should be somewhat secure i.e. does not pass secure data through parameters of commands and preferably does not use temporary files. How can
Just do:
printf "$my_var" | my_cmd
If the var doesn't contain spaces then the quotes may be omitted. If using bash then you may also do:
echo -n "$my_var" | my_cmd
Avoid using echo without -n because it will pipe the vraiable with an added linebreak at the end.