This is a bad approach. Better is to a) define a common API, b) generate a compatibility layer that is as close to the native API as possible, and c) fill in the gap using platform code (in this case, JavaScript).
Node got b) right, by simply wrapping the posix API in as thin a layer as possible. If you don't like how file operations are exposed or organized in Node, the right thing to do is to write a library for Node, in JavaScript, not write another shell!