Você pode fazer isso, mas é um pouco frágil
foo.sh ficará assim
#! /bin/bash
declare "$@" # evaluate the params as variable declarations
bar $bar_args # not quoted!
baz $baz_args # not quoted!
Então, ./foo.sh bar_args="-x -v message=hello" baz_args="-d -m"
funcionará como você espera.
Não tente passar uma mensagem com espaço em branco, não pode ser feito dessa maneira.