Como mover o ClearRect do Canvas

Há como mover o quadrado branco da esquerda para a direita sem sair de dentro dele e sem mover o quadrado vermelho, ou dar um id para o quadrado branco para poder trabalhar ele?

<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>

<script>

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(0, 0, 300, 150);
ctx.clearRect(20, 20, 100, 50);

</script>
</body>
</html>