Hola.
Por el código del mensaje #13, la aplicación correrá en windows, entonces otra opción es:
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
using namespace std;
// ruta + nombre de archivo, por ejemplo:
#define FULLNAME "C:\\PersonalizacionMasterShell.bat"
int main()
{
ifstream ifs;
ifs.open(((string)FULLNAME).c_str());
if (ifs.is_open())
ShellExecute(NULL, "open", "CMD", ((string)"/C "+FULLNAME).c_str(), "", SW_NORMAL);
else
cout << "El archivo no existe";
}
Si deseas que ejecute el archivo por lotes y quede residente en el prompt, reemplazá "/C " por "/K ".
Saludos.