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) ()