title: Memory layout of argc, argv, envp
body: <p>From what I understand, the values of the environment variables are in memory directly after the NULL-terminated <code>argv</code> values. Beyond the env variables, <code>auxv</code> is present.</p>
  
  <p>How exactly are the environment variables laid out – where is this layout specified / documented? And what systems does it apply to?</p>