私は、有効なシェル変数にマップされない名前を持つ環境変数を正常かつ移植可能に (可能な限り) 処理する方法を理解しようとしています。env
結果がバイトごとに正確であることが重要であるため、ツールの出力を解析するなどのハックを行うつもりはありません。
env 'Invalid Name=Some Value' bash <<'EOF'
s='Invalid Name'
printf '%q\n' "${!s}"
EOF
Some Value
上記のコードが;を出力することを願っています。ただし、代わりに空の文字列を返します。