In MPI-1.1/, it is explicitly stated that an implementation is allowed to require that the arguments argc and argv passed by an application to MPI_INIT in C be the same arguments passed into the application as the arguments to main. In MPI-// implementations are not allowed to impose this requirement. Conforming implementations of MPI-/ are required to allow applications to pass NULL for both the argc and argv arguments of main. In C++, there is an alternative binding for MPI::Init that does not have these arguments at all.
MPI-Standard for MARMOT