zshのshell scriptなんですけど

fn() {
arg1=$1
echo $arg1
}

hoge='abc 123'
t=$(fn $hoge)
echo $#t

2
となるんだけど
どうも半角スペースで分解されてる
半角スペースをエスケープする方法教えて
もう涙目