Clone is a great system call, it allows the programmer to specify which resources are shared with the new task. The problem with clone is the C standard library maintains global and thread-local state. For example, using clone is not supported by glibc:
> If you use clone() you're on your own.
https://sourceware.org/bugzilla/show_bug.cgi?id=10311
Sometimes it feels like the standard library is holding C back. I wonder how many great Linux-specific features go unused because of it.