Tak jest to możliwe za pomocą zwykłego jsa, tylko że nie tyle ze zmiennej co z diva (zrobić żeby był niewidoczny to już nie jest duży problem)
var $copy = document.getElementById("copy");
var range = document.createRange();
range.selectNode($copy);
window.getSelection().addRange(range);
document.execCommand("Copy", false, null);