-x '1 2 3' -y 4 5 #### --extra-ffmpeg-param='-x '\''1 2 3'\'' -y 4 5' #### --extra-ffmpeg-param='-x "1 2 3" -y 4 5' #### # to_shell_lit() - Creates a shell literal # Usage: printf '%s\n' "$( to_shell_lit "..." "..." "..." )" to_shell_lit() { local prefix='' local p for p in "$@" ; do printf "$prefix"\' printf %s "$p" | sed "s/'/'\\\\''/g" printf \' prefix=' ' done } --extra-ffmpeg-param="$( to_shell_lit -x "$x" )" #### -X '-x 1 2 3' -X '-y 4' #### -X "-x $x" -X '-y 4' #### -X 'x=1 2 3' -X 'y=4' #### -X "x=$x" -X 'y=4'