11 parameters may seem bloated but in some cases Unix syscalls weren't designed with enough parameters whcih caused a bunch of pain necessitating things like
dup->dup2->dup3
pipe->piep2
rename->renameat->renameat2
Best practice nowadays in linux is to allow overloading syscalls via a flags parameter.
see https://lwn.net/Articles/585415/
So modern linux syscalls may be bloated too.