home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <dos/dostags.h>
- #include <stdio.h>
-
- #include <proto/dos.h>
-
- int execute(char *cmd)
- {
- long rc;
-
- while (*cmd == ' ') cmd++;
- if (strncmp(cmd, "exec", 4) == 0 && (cmd[4] == ' ' || cmd[4] == '\t')) cmd += 4;
- if ((rc = SystemTags(cmd, SYS_UserShell, TRUE, TAG_END)) == -1)
- {
- fprintf(stderr, "Failed to execute command %s\n", cmd);
- return 20;
- }
- return rc;
- }
-
- void main(int argc, char **argv)
- {
- if (argc == 3 && strcmp(argv[1], "-c") == 0) exit(execute(argv[2]));
- else
- {
- fprintf(stderr, "Only sh -c <command> is recognized\n");
- exit(20);
- }
- }
-