new file mode 100644
--- /dev/null
+++ b/fork.c
@@ -0,0 +1,46 @@
+/**
+ * test/demos/fork.c
+ * Copyright (C) Markus Broeker
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <errno.h>
+
+int fork_proc (char **argv, char **argp)
+{
+ int pid;
+ char *cmd = argv[0];
+
+ pid = fork ();
+ switch (pid) {
+ case 0:
+ printf ("Starting new Process\n");
+ execve (cmd, argv, argp);
+ case -1:
+ perror ("FORK");
+ return errno;
+ default:
+ printf ("Pid started as %d\n", pid);
+ wait (&pid);
+ printf ("Exit-Status = %d\n", pid);
+ return pid;
+ }
+}
+
+int main (int argc, char **argv)
+{
+ char *args[] = {
+ "/bin/ls",
+ "-al",
+ NULL
+ };
+
+ if (fork_proc (args, NULL) == 0) {
+ printf ("It just works :P\n");
+ }
+
+ return EXIT_SUCCESS;
+}