Simple string repeater program
Standard guarantees sizeof(char) to be 1.
argv[1] is a perfectly good string. There is no need to copy it anywhere, let alone allocate a megabyte for it.
Length of a destination string is strlen(argv[1]) * loop + 1. Do not hardcode a megabyte.
strcat has to find the end of destination string over and over again, making the execution time quadratic. Trace the end of the destination string as you go and strcpy to the right location instead.