O comando printf
do Bash tem um recurso que vai citar / escapar / qualquer que seja uma string, portanto, contanto que tanto o pai quanto o subshell sejam realmente bash, isso deve funcionar:
#!/bin/bash
quoted_args="$(printf " %q" "$@")" # Note: this will have a leading space before the first arg
# echo "Quoted args:$quoted_args" # Uncomment this to see what it's doing
bash -c "other_tool -a -b$quoted_args"
Note que você também pode fazer isso em uma única linha: bash -c "other_tool -a -b$(printf " %q" "$@")"