O RLIMIT_NOFILE está no valor máximo de descritor de arquivo que você pode obter / alocar, não em quantos arquivos podem estar abertos por vez.
Os processos filhos herdam o limite, mas além disso, não há nada que uma criança possa fazer para influenciar o pai aqui. Se o pai tiver alguns fds livres no intervalo 0- > limit-1, ele ainda poderá abrir novos arquivos (wrt até esse limite), independentemente do que qualquer um de seus filhos fizer (você pode encontrar outros limites globais) embora).
Em qualquer caso, observe que se o limite for 500, você ainda poderá ter mais de 500 descritores de arquivos abertos se você tivesse alguns que estavam abertos (inclusive nos processos pai) antes de o limite ser reduzido.
$ bash -c 'exec 1023> /dev/null; ulimit -n 500;
command exec 600> /dev/null; ls -l /proc/self/fd; exit'
bash: 600: Bad file descriptor
total 0
lrwx------ 1 chazelas chazelas 64 Jun 17 08:40 0 -> /dev/pts/1
lrwx------ 1 chazelas chazelas 64 Jun 17 08:40 1 -> /dev/pts/1
l-wx------ 1 chazelas chazelas 64 Jun 17 08:40 1023 -> /dev/null
lrwx------ 1 chazelas chazelas 64 Jun 17 08:40 2 -> /dev/pts/1
l-wx------ 1 chazelas chazelas 64 Jun 17 08:40 3 -> /dev/null
lr-x------ 1 chazelas chazelas 64 Jun 17 08:40 4 -> /proc/8034/fd
Esse processo executando ls
tem um limite de 500 herdado de seu pai (portanto, não é possível obter um novo fd maior que 499). Ainda tem o fd 1023 aberto.