From 87189d3f65cb66c95f0be5c3fb213bdc5741e634 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Tue, 1 Dec 2020 20:46:50 +0300 Subject: Initial --- shelter.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 shelter.c (limited to 'shelter.c') diff --git a/shelter.c b/shelter.c new file mode 100644 index 0000000..e8bdf9f --- /dev/null +++ b/shelter.c @@ -0,0 +1,31 @@ +#include +#include +#include + + +int main() +{ + int p[2]; + pid_t pid; + pipe(p); + pid = fork(); + if (pid == -1) { + return 1; + } else if (pid) { + int c; + close(p[0]); + write(p[1], "echo -n \"", 6); + while ((c = getchar()) != EOF) { + write(p[1], &c, 1); + } + write(p[1], "\"", 1); + close(p[1]); + wait(0); + } else { + close(p[1]); + dup2(p[0], 0); + close(p[0]); + execl("/bin/sh", "/bin/sh", 0); + } + return 0; +} -- cgit v1.2.3