routine file_exec (
    exec_file: file_t;
    RPT
    exec_task: task_t;
    flags: int;
    argv: data_t SCP;
    envp: data_t SCP;
    fdarray: portarray_t SCP;
    portarray: portarray_t SCP;
    intarray: intarray_t SCP;
    deallocnames: mach_port_name_array_t SCP;
    destroynames: mach_port_name_array_t SCP);

Overlay a task with a file. Necessary initialization, including authentication changes associated with set[ug]id execution must be handled by the filesystem. Filesystems normally implement this by using ?exec newtask or ?exec loadtask as appropriate.