Why does a simple shell script create a vulnerability here? A shell script should already be using code like this:
set -e tmp="`mktemp`" echo "blah blah" > "$tmp" echo "more blah blah" >> "$tmp" mv -f "$tmp" "$1" for two reasons: using mktemp avoids a symlink race condition, and the rename-temporary-file-after-successfully-writing-it idiom avoids writing an incomplete set of configuration directives for openvpn. The last of those (to avoid incomplete configuration directives) I would argue is a good reason to use a temporary file rather than doing something like popen() and reading from a child process's stdout.
signature.asc
Description: Digital signature