porque $test contém espaço em branco quando você diz
myfunc $test # without quotes
sua função recebe > 1 argumento. myfunc recebe 2 argumentos aqui, aaaaa e aaaaa .
Você quer isso:
myfunc "$test" # with quotes
Regra geral: sempre cite seu "$variables" , a menos que você saiba exatamente quando e por que não.