したがって、単一の引数を受け入れるこの既存のコマンドがありますが、代わりに stdin を介して引数を受け入れるものが必要です。
次のようなシェル スクリプト ラッパーは機能しますが、信頼できないユーザーが stdin で任意の文字列を渡すことを許可するため、誰かがシェルで任意のコマンドを実行する可能性があるかどうか疑問に思っています。
#!/bin/sh
$CMD "`cat`"
明らかに、$CMD が引数を処理する方法に脆弱性がある場合、私にできることは何もないので、次のようなことを懸念しています。
- どういうわけか、ユーザーが二重引用符をエスケープして、入力を $CMD の引数 #2 に渡すことができるようにします
- どういうわけか別の任意のコマンドを実行させる