Надо передать в execl параметр типа U32 U32 aaa; aaa = 100; execl(path, name, (char *)aaa); В вызываемом процессе name : U32 *p_arg, arg; p_arg = (unsigned int*)argv[1]; arg = *p_arg; Так вот переменная arg должна быть arg=aaa=0x64, а равна arg=0x4d4d0064. Т.е. появляется мусор какой-то. Если aaa = 10000 или больше, то arg = 0x4d002710.... мусор перекрывается. Как с этим мусором бороться ? Как очистить???