echo有BUG?

suse@linux-337q:~/program/cc> ./ng newc.cpp
newc.cpp
newc

g++: error: missing filename after ‘-o’
suse@linux-337q:~/program/cc>

#!/bin/bash
echo $1
name= echo $1 | sed 's/\.cpp//g'
echo $name
g++  --std=c++11 $1 -o $name

# 为什么会多出一出一空行?

# 程序改成以下成功了
#!/bin/bash

#g++  --std=c++11 $1 -o `echo $1 | sed 's/\.cpp//g'`
# 为什么呢?