(* Программа docommand -- запуск команды оболочки, первая версия *)

uses linux,stdio;

function docommand(command:pchar):integer;
var
  pid:longint;
begin
  pid := fork;
  if pid < 0 then
  begin
    docommand:=-1;
    exit;
  end;

  if pid = 0 then			(* дочерний процесс *)
  begin
    linuxexecl('/bin/sh', 'sh', ['-c', command, nil]);
    perror ('execl');
    halt(1);
  end;

  (* Код родительского процесса *)
  (* Ожидание возврата из дочернего процесса *)
  wait(nil);

  docommand:=0;
end;

begin
  docommand('ls -l | wc -l');
end.
