let dd ?(ibs=None) ?(obs=None) ?(bs=None) ?(cbs=None) ?(skip=None) ?(seek=None) ?(count=None) ?(conv=None
 (x:filename) (y:filename) =

 let iF   = " if="^(String.quote x) in
 let oF   = " of="^(String.quote y) in
 let ibs  = match ibs   with (Some n) -> " ibs="  ^ (string_of_int n) | _ -> "" in
 let obs  = match obs   with (Some n) -> " obs="  ^ (string_of_int n) | _ -> "" in
 let  bs  = match  bs   with (Some n) -> "  bs="  ^ (string_of_int n) | _ -> "" in
 let cbs  = match cbs   with (Some n) -> " cbs="  ^ (string_of_int n) | _ -> "" in
 let skip = match skip  with (Some n) -> " skip=" ^ (string_of_int n) | _ -> "" in
 let seek = match seek  with (Some n) -> " seek=" ^ (string_of_int n) | _ -> "" in
 let count= match count with (Some n) -> " count="^ (string_of_int n) | _ -> "" in
 let conv = match conv  with (Some n) -> " conv=" ^ (string_of_int n) | _ -> "" in

 let arg = (iF^oF^ibs^obs^bs^cbs^skip^seek^count^conv) in
 
  make ~at:Treat.identity ~ot:ignore "dd" ~args:(Some arg) ()