È normale che non funzioni, visto che time non è un eseguibile, ma un comando interno dell'interprete dei comandi (command.com o cmd.exe). In ogni caso invece di ricorrere ad esso usa piuttosto la API SetSystemTime.
P.S.: WinExec è arcaica e deprecatissima (è mantenuta solo per compatibilità con applicazioni dei tempi di Windows 3.1), se devi avviare degli eseguibili usa la CreateProcess.