Есть пример:
#!/bin/bash -x
action ()
{
   eval "${@:4}"
}
act ()
{
   action 0 2 2 "$@"
}
func ()
{
   pushd "$1"
   eval "$2"
   eval "$3"
   popd
}
act func /tmp/ "ls -Al > temp.txt" "cp -fv ./temp.txt $HOME"
act echo OK
act "{ echo OK1; echo OK2; }"
 "ls -Al > temp.txt", "cp -fv ./temp.txt $HOME" на "'ls -Al > temp.txt'", "'cp -fv ./temp.txt $HOME'".Вопрос заключается в том, есть ли выработанными десятилетиями упорного труда программерской мысли подход к решению таких ситуаций?
