buenas...
por suerte, la 5ta edición de ECMAScript define una función nativa -creo- para ese propósito. en particular
Object.create. aún no me he visto con exactitud como funciona, pero revisa los ejemplos del enlace. sin embargo, desgraciadamente hay navegadores que aún no tiene las nuevas funciones de ECMAScript, por ejemplo iexplorer8. para los navegadores sin soporte puedes crear una función que cumpla con dicho propósito. por ejemplo, iterar las propiedades de un objeto con for/in e ir recreandolas en otro nuevo objeto. como nunca me he visto en esa necesidad, desconozco si esa es la forma correcta o eficiente.