Решением является использование модификатора @
, как указано в в документах zsh :
string="1::3"
a=("${(@s/:/)string}") # @ modifier
Кстати, если у вас есть выбор разделителя, гораздо проще и менее подвержен ошибкам использовать новую строку в качестве разделителя. Правильный способ разбить строки с помощью zsh:
a=("${(f)string}")
Не знаю, нужны ли здесь и кавычки ...