int main(int argc, char *argv[])
{
 char *a[2];

 a[0] = strcat(argv[1], "age\0");

...


ってのはやばいですか?

argv[1]に入ってる文字列に "age\0" という文字列を追加したい。

仮にargv[1]にsageが入ってるとすれば、 "sage\0age\0"になるのかな?
とか思っちゃいます。