variable interpolation in bash alias

bash

Solution

Aliases don't do positional expansion; use a function instead.

Problem

I have alias: alias asd='myvar=$1 echo \"Hey $myvar Bye\"' But when I run the command asd 44 I get the output "Hey Bye" 44. Can someone explain why the echo is run last and how I can get the desired result of "Hey 44 Bye"

Original source