سلام
دو راه دارید (راه اول رو اصلا پیشنهاد نمیکنم و صرفا چهت اطلاع رسانی میگم) :
1- استفاده از متد system که یک command به عنوان ورودی میگیره، که اون command میتونی دستور اجرای برنامه شما باشه به همراه لیست پارامترهاش.
2- از اونجایی که گفتید .exe مسلما روی ویندوز دارید کار می کنید و این جواب هم مخصوص ویندوز هست (بر خلاف روش اول). از تابع زیر استفاده کنید :
#include <Windows.h>
VOID startup(LPCTSTR lpApplicationName)
{
// additional information
STARTUPINFO si;
PROCESS_INFORMATION pi;
// set the size of the structures
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// start the program up
CreateProcess( lpApplicationName, // the path
argv[1], // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi // Pointer to PROCESS_INFORMATION structure (removed extra parentheses)
);
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}
توجه داشته باشید که پارامتر lpApplicationName شامل مسیر فایل اجرایی شما هم هست نه فقط نام اون.
اگر توضیح بیشتری نیاز داشتید در خدمتم.
منبع : https://stackoverflow.com/questions/...-another-c-exe
موفق باشید.