Cで終了コードを取得するにはどうすればよいでしょうか?
以下のようなコードをためしたのですが:

geho.c:

int main(void)
{
  exit(2);
}

hoge.c:

int main(void)
{
  int ret;
 
  ret = system("./geho");
  printf("%d\n", ret);

  return 0;
}

しかし、出力は2とはならずに、512となってしまいます。