To avoid escaping, use "$@" as normal and pass "$@" to the parent bash -c afterincluding a dummy argument for --$0.
bash -c 'printf "[%s] [%s]\n" "$@"' this-is- "$@"
$ ./script one "t w o"
[one] [t w o]
Note without the --, bash -c takes the first argument as $0.
bash -c 'printf "[%s] [%s]\n" "$@"'dollar-zero "$@"
$ ./script one "t w o"
[one] [t w o] []