Странная обработка котировок внутри расширений.
Это делает то, что вы хотите...
$ echo "${one:-["\"one\"","\"two\""]}"
["one","two"]
Но здесь по-другому -документ...
$ cat <<EOF
> ${one:-["\"one\"","\"two\""]}
> EOF
[\"one\",\"two\"]
Наверное, проще всего поместить значение по умолчанию в переменную:
$ def_one='["one","two"]'
$ cat <<EOF
> ${one:-$def_one}
> EOF
["one","two"]