В C ++ вы можете использовать оператор + для объединения строк:
system((std::string("c:\\progra~1\\intern~1\\iexplore.exe ") + p).data());
В этом случае это немного сложно для чтения, так что вам лучше создать строку заранее.
Лучше было бы использовать stringstream:
#include <sstream>
std::stringstream sstr;
std::string p = "http://www.google.com";
sstr << "c:\\progra~1\\intern~1\\iexplore.exe " << p;
system(sstr.str().data());