À l'aide de execl pour exécuter une commande Linux

J'ai besoin de lister tous les fichiers dans le répertoire courant qui ont une autorisation de 644 par l'écriture d'un programme en langage C qui.
Je ne peux pas utiliser system() et utiliser execl() afin d'utiliser les appels système.

Cette ligne que j'ai utilisé dans mon code:

execl("/usr/bin/find", "find . -maxdepth 1 -perm 644", (char *)NULL);

Le problème est que le code est à la recherche de l'ensemble du disque au lieu du répertoire courant.
Pourriez-vous m'aider à le résoudre s'il vous plaît?


        ...

        case 4:
            int status;
            switch (fork()){
                case -1: quit ("fork",1);
                case 0:
                execl("/usr/bin/find","find","." ,"-maxdepth" ,"1","-perm", "644",(char *)NULL) ;
                exit (200);
                default:
                wait(&status);
                exit(0);
            }
        }

OriginalL'auteur femchi | 2012-11-22