exec();について知りたいのですが
 exec("/usr/bin/php /var/test.php {$params} ", $o, $r);
 echo "レスポンス:".var_dump($r);
 echo "出力:".var_dump($o);
のようにしてる時
引数$paramsには配列やserialize()した配列を指定できないんでしょうか?

引数$paramsが $params = array("dog", "cat");
test.phpが以下の内容の時、
<?php echo $argv[1][0]; ?>

1)配列を引数にした場合
 なぜかAが出力されます
 レスポンス:int(0)
 出力:array(1) { [0]=> string(1) "A" }
2)serialize()した配列を引数にした場合
 レスポンス:int(2)
 出力:array(0) {}

配列はそのままでもserialize()してもダメなんでしょうか?
また、1)のケースのときの、返り値Aはどこから来たんでしょうか?
配列を渡す方法があったら教えてもらえると助かります、よろしくお願いします