Você não pode colocar a matriz como o primeiro argumento para ssh
atrás do host. Ele será avaliado como o comando e obviamente falhará. Se você realmente precisa fazer isso, você deve adicioná-lo ao "script" assim:
ssh $server "bash -s" <<TARGETSCRIPT
target_array=("${target_array[@]}")
echo ${target_array[@]}
echo "hello"
TARGETSCRIPT
Encapsular o array também é útil para garantir que o array permaneça o mesmo do outro lado.