>>548
1.と2. 両方やった方がいい。

readonly PATH='' ってやって、PATHなしに強制する (''は書かなくても同じ意味)
これで、lsとか絶対パスでしか実行できなくなる。

testについては >>549 の指摘通り内部コマンドなので、
if [ ... ]; then って普通に書いていい。

readonly LS=/bin/ls はどっちでもいいかな。
見やすくなるかどうかくらいの意味なので。