Fix from vodz so that complex init commands actually work
diff --git a/init/init.c b/init/init.c
index e481253..8b68a05 100644
--- a/init/init.c
+++ b/init/init.c
@@ -579,9 +579,7 @@
 		if (strpbrk(a->command, "~`!$^&*()=|\\{}[];\"'<>?") != NULL) {
 			cmd[0] = SHELL;
 			cmd[1] = "-c";
-			strcpy(buf, "exec ");
-			safe_strncpy(buf + sizeof("exec "), a->command, 
-					sizeof(buf) - sizeof("exec "));
+			snprintf(buf, sizeof(buf), "exec %s", a->command);
 			cmd[2] = buf;
 			cmd[3] = NULL;
 		} else {